1. Technical Field
The present invention is directed generally toward a method and apparatus for processing data. Still more particularly, the present invention provides a method, apparatus, and computer implemented instructions for debugging and performing diagnostic testing in a data processing system.
2. Description of the Related Art
Fibre channel is a high-speed transport technology used to build storage area networks (SANs). Fibre channel is a channel-network hybrid, containing sufficient network features to provide needed connectivity, distance, and protocol multiplexing, as well as sufficient traditional channel features to retain simplicity, repeatable performance, and guaranteed delivery. Although Fibre channel can be used as a general-purpose network carrying Asynchronous Transfer Mode (ATM), Internet Protocol (IP) and other protocols, this architecture has been primarily used for transporting Small Computer System Interface (SCSI) traffic from servers to disk arrays. The Fibre Channel Protocol (FCP) serializes SCSI commands into Fibre channel frames. IP, however, is used for in-band Simple Network Management Protocol (SNMP) network management. Fibre channel not only supports singlemode and multimode fiber connections, but coaxial cable and twisted pair as well.
Fibre channel can be configured point-to-point, via a switched topology or in an arbitrated loop (FC-AL) with or without a hub. Fibre channel provides both connection-oriented and connectionless services. With respect to the use of fibre channel in storage subsystem environments, such as those contained in disk arrays, debugging of these systems is currently formed by connecting an analyzer to extract traffic moving between devices for examination. For example, FIG. 1 is a diagram of a known controller/storage device system employing fibre channel. Controller enclosure 100 is connected to disk enclosure 102 through fibre channel connection 104. In this example, disk enclosure 102 is external to controller enclosure 100. Analyzer 106 is connected to fibre channel connection 104 to obtain data being transferred between these two devices for use in debugging problems manifesting themselves in communications between controller enclosure 100 and disk enclosure 102. In this simple example, obtaining data for analysis is straightforward and easy to set up.
In other cases, such an analysis is more difficult to perform. It is common for multiple devices to communicate with each other and be located in the same physical box or enclosure. For example, in FIG. 2, a diagram illustrating a known storage subsystem is illustrated. Controller enclosure 200 is connected to disk enclosure 202 by fibre channel connection 204. In this example, controller enclosure 200 contains two controllers, controller 206 and controller 208. These two controllers may initiate commands to disk enclosure 202 as well as send commands to each other. Analyzer 210 may be attached to fibre channel connection 204, which allows gathering data on traffic sent between controllers 206 and 208 and disk enclosure 202. In this case, however, data or traffic sent between controller 206 and controller 208 cannot be obtained by analyzer 210 because no physical attachment is present to connect analyzer 210 to link 212, which exists internally within controller enclosure 200. In this situation, trace logs recorded by each of the controllers may be examined. This solution, however, requires gathering large amounts of data, which is often memory intensive. Further, no guarantee is present that any level of logging will provide sufficient detail to solve the problem. This situation is especially true when a hardware device, such as a protocol chip, is faulty and causes a bug. As a result, debugging is often an iterative and time-consuming process.
Therefore, it would be advantageous to have an improved method, apparatus, and computer instructions for analyzing and debugging problems in a storage subsystem.